


int cs_vars_generator(FILE *farchivo, struct st_property_ls   *properties)
{
	while(properties!=NULL)
	{
		if(properties->property!=NULL)
			fprintf(farchivo,"\tprivate %s %s;\n",properties->property->type,properties->property->name);	
		properties=properties->next;	
	}
	return OK;
}

int cs_properties_generator(FILE *farchivo, struct st_property_ls   *properties)
{
	char property_name[64];
	while(properties!=NULL)
	{
		if(properties->property!=NULL)
		{
			strcpy(property_name,properties->property->name);
			property_name[0]+=('A'-'a');
			fprintf(farchivo,"\tpublic %s %s{\n",properties->property->type,property_name);	
			fprintf(farchivo,"\t\t get { return this.%s;}\n ",properties->property->name);
			fprintf(farchivo,"\t\t set { this.%s=value;}\n ",properties->property->name);
			fprintf(farchivo,"\t}\n");
			
		}
		properties=properties->next;	
	}
	return OK;
}

int cs_model_generator( struct st_model *model)
{
	FILE *farchivo;
	char archivo[100];
	int error=OK;
	if(model==NULL)
		return INVALID_MODEL;
	else{
		
		sprintf(archivo,"%s.%s.cs",NAMESPACE,model->name);
		farchivo=fopen(archivo, "w");
		printf("Inicia codificacion de %s\n",archivo);
		fprintf(farchivo,"public class %s{\n",model->name);
		cs_vars_generator(farchivo,model->properties);
		cs_properties_generator(farchivo,model->properties);
		fprintf(farchivo,"}\n\n");
		fflush(farchivo);
		fclose(farchivo);
		printf("Finaliza codificacion de %s\n\n",archivo);
	}
}

int cs_models_generator( struct st_model_ls *models)
{
	while(models!=NULL)
	{
	 	cs_model_generator(models->model);
	 	models=models->next;
	 }
	 return OK;
}
